package com.second.app.designpattern.observer;

/**
 * @Author GYZ
 * @Date 2023/11/10
 * <pre>
 *   对象通过此接口注册为观察者，或者把自己从观察者中移除
 * </pre>
 */
public interface Subject {

    /**
     * 注册观察者
     * @param observer 观察者对象
     */
    void registerObserver(Observer observer);

    /**
     * 移除观察者
     * @param observer 观察者对象
     */
    void removeObserver(Observer observer);

    /**
     * 通知观察者
     */
    void notifyObservers();
}
